package br.com.medvagas.comum.entidade;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedNativeQueries;
import javax.persistence.NamedNativeQuery;
import javax.persistence.Table;

import br.com.medvagas.comum.enumeracao.profissional.PorteEnum;
import br.com.medvagas.comum.enumeracao.profissional.TipoEventoEnum;
import br.com.medvagas.comum.util.UtilEnum;


/**
 * The persistent class for the participacao_evento database table.
 * 
 */
@Entity
@Table(name="participacao_evento")
@NamedNativeQueries({
	@NamedNativeQuery(
		name="ParticipacaoEvento.delete", 
		query="delete from participacao_evento where id_participacao_evento = :idParticipacaoEvento", resultClass=ParticipacaoEvento.class)
})
public class ParticipacaoEvento implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="id_participacao_evento")
	private Integer idParticipacaoEvento;

	private String mes;
	
	private String ano;

	private String evento;

	private String porte;

	private String nome;

	private String outro;

	@Column(name="id_pais")
	private String idPais;
	private String pais;
	
	@Column(name="sigla_uf")
	private String siglaUf;
	
	@Column(name="cod_ibge")
	private String codIbge;
	private String cidade;

	//bi-directional many-to-one association to UsuarioProfissional
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="id_usuario_profissional", insertable=false, updatable=false)
	private UsuarioProfissional usuarioProfissional;
	@Column(name="id_usuario_profissional")
	private Integer idUsuarioProfissional;

    public ParticipacaoEvento() {
    }

    public String getPorteFormatado() {
    	return UtilEnum.recuperarLabel(PorteEnum.values(), porte);
    }
    
    public String getEventoFormatado() {
    	return UtilEnum.recuperarLabel(TipoEventoEnum.values(), evento);
    }
    
	public Integer getIdParticipacaoEvento() {
		return this.idParticipacaoEvento;
	}

	public void setIdParticipacaoEvento(Integer idParticipacaoEvento) {
		this.idParticipacaoEvento = idParticipacaoEvento;
	}

	public String getEvento() {
		return this.evento;
	}

	public void setEvento(String evento) {
		this.evento = evento;
	}

	public String getPorte() {
		return this.porte;
	}

	public void setPorte(String porte) {
		this.porte = porte;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getOutro() {
		return this.outro;
	}

	public void setOutro(String outro) {
		this.outro = outro;
	}

	public String getPais() {
		return this.pais;
	}

	public void setPais(String pais) {
		this.pais = pais;
	}

	public UsuarioProfissional getUsuarioProfissional() {
		return this.usuarioProfissional;
	}

	public void setUsuarioProfissional(UsuarioProfissional usuarioProfissional) {
		this.usuarioProfissional = usuarioProfissional;
	}

	public Integer getIdUsuarioProfissional() {
		return idUsuarioProfissional;
	}

	public void setIdUsuarioProfissional(Integer idUsuarioProfissional) {
		this.idUsuarioProfissional = idUsuarioProfissional;
	}

	public String getMes() {
		return mes;
	}

	public void setMes(String mes) {
		this.mes = mes;
	}

	public String getAno() {
		return ano;
	}

	public void setAno(String ano) {
		this.ano = ano;
	}

	public String getIdPais() {
		return idPais;
	}

	public void setIdPais(String idPais) {
		this.idPais = idPais;
	}

	public String getSiglaUf() {
		return siglaUf;
	}

	public void setSiglaUf(String siglaUf) {
		this.siglaUf = siglaUf;
	}

	public String getCodIbge() {
		return codIbge;
	}

	public void setCodIbge(String codIbge) {
		this.codIbge = codIbge;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	
}